package com.question.annotation;

import com.question.enumeration.MethodType;
import com.question.enumeration.OperatorType;

import java.lang.annotation.*;

@Target({ElementType.METHOD,ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Log {

    /**
     * 执行操作所用的模块
     */
    public String title() default "";

    /**
     * 操作的类型，新增，修改，删除，提交答案等
     * @return
     */
    public MethodType type() default MethodType.OTHER;

    /**
     * 操作人类别 例如 管理员 普通用户等
     */
    public OperatorType operatorType() default OperatorType.MANAGE;

    /**
     * 是否保存请求的参数
     */
    public boolean isSaveRequestData() default true;

    /**
     * 是否保存响应的参数
     */
    public boolean isSaveResponseData() default true;

    /**
     * 排除指定的请求参数
     */
    public String[] excludeParamNames() default {};

}
